<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./js/jquery.js"></script>
</head>

<body>
    <!-- 
        ES6======promise +  class  + 展开运算符【...】+ 解构赋值
        ES7======async  await
     -->

    <script>
        // $.ajax({
        //     url: 'http://127.0.0.1:3000/fdata',
        //     type: 'get',
        //     success: (res) => {
        //         console.log(res, 666);
        //         $.ajax({
        //             url: 'http://127.0.0.1:3000/fdata',
        //             type: 'get',
        //             success: (res) => {
        //                 console.log(res, 666);
        //                 $.ajax({
        //                     url: 'http://127.0.0.1:3000/fdata',
        //                     type: 'get',
        //                     success: (res) => {
        //                         console.log(res, 666);

        //                     }
        //                 })

        //             }
        //         })
        //     }
        // })

        /*
        1、是一个异步对象
        2、他有两个参数
        3、.then()====执行的成功后的回调======必须是Promise对象
         */
        // new Promise((resolve, reject) => {
        //     $.ajax({
        //         url: 'http://127.0.0.1:3000/fdata',
        //         type: 'get',
        //         success: resolve
        //     })
        // }).then((res) => {
        //     console.log(res, 777);
        // })




        // function qq() {
        //     return new Promise((resolve, reject) => {
        //         $.ajax({
        //             url: 'http://127.0.0.1:3000/fdata',
        //             type: 'get',
        //             success: resolve
        //         })
        //     })
        // }

        /* 解决地狱回调 */
        // qq()
        // .then(res => {
        //     return qq()
        // })
        // .then(res => {
        //     return qq()
        // })
        // .then(res => {
        //     return qq()
        // })


        /* async  +  await  */
        // async function tt() {
        //     return await $.ajax({
        //         url: 'http://127.0.0.1:3000/fdata',
        //         type: 'get',
        //         success: function (res) {
        //             console.log(res, 12);

        //         }
        //     })
        // }

        function ff() {
            return new Promise((resolve, reject) => {
                $.ajax({
                    url: 'http://127.0.0.1:3000/fdata',
                    type: 'get',
                    dataType:'json',
                    data:{},
                    success: resolve
                })
            })
        }

        async function tt() {
            /* 方法1===promise */


            ff()
                .then(res => {
                    console.log(res, 7777);
                    return ff()
                })
                .then(res => {
                    console.log(res, 888);

                })
            /* 方法2==== async +  await   有await必须有async*/
            var msg = await ff()
            var msg2 = await ff()
            console.log(msg, 6677);
            console.log(msg2, 6677);
        }

        tt()


        /* fetch */
        fetch('http://127.0.0.1:3000/fdata').then(res=>{
            // console.log(res,4455);
            return res.text()
        }).then(data=>{
             console.log(data,4455);
        })




        // $.ajax({
        //         url: 'http://127.0.0.1:3000/fdata',
        //         type: 'get',
        //     }).then(res=>{
        //         console.log(res,999);

        //     })

    </script>


</body>

</html>